<?php

/**
 * Created by PhpStorm.
 * User: Vova
 * Date: 9/28/14
 * Time: 10:49 PM
 */
//require_once("C:/xampp/htdocs/door-market/php/views/View.class.php");

class Route
{

    static function start()
    {
        $controller_name = 'Catalog_controller';
        $action_name = 'doors';
        $sub_category ='all';
        $parameters ="";

        $routes = explode('/', $_SERVER['REQUEST_URI']);

        $i_correction = 2;

        if (!empty($routes[1 + $i_correction])) //потім убрати + $i_correction так як зараз в папці індекс працюю
        {
            $controller_name = $routes[1 +$i_correction];
        }

        //echo "<br> controller_name = ".$controller_name ;

        if (!empty($routes[2 + $i_correction])) //потім убрати + $i_correction так як зараз в папці індекс працюю
        {
            $action_name = $routes[2 + $i_correction];
        }

        if (!empty($routes[3 + $i_correction])) //потім убрати + $i_correction так як зараз в папці індекс працюю
        {
            $sub_category = $routes[3 + $i_correction];
        }



        //echo "<br> action_name = ".$action_name ;

        if (!empty($routes[4 + $i_correction])) //потім убрати +$i_correction  так як зараз в папці індекс працюю
        {
            $parameters = $routes[4 + $i_correction];
        }

        // добавляем суфикси
        $controller_name = $bar = ucfirst(strtolower($controller_name)) . '_controller';

        //echo "<br> controller_name = ".$controller_name ;

        //echo "<br> parameters = ".$parameters ;

        // подцепляем файл с классом контроллера
        $controller_file = $controller_name . '.class.php';
        $controller_path = "../php/controllers/" . $controller_file;

        //echo "<br> controller_file = ".$controller_file ;
        //echo "<br> controller_path = ".$controller_path ;
        if (file_exists($controller_path)) {
            include_once("../php/controllers/" . $controller_file);
        } else {
            echo "controller ".$controller_file."doesent exist";
            Route::ErrorPage404();
        }

        // создаем контроллер
        $controller = new $controller_name;
        $action = $action_name;

        if (method_exists($controller, $action)) {
            $controller->$action($sub_category,$parameters);
        } else {
            echo "action ".$action."doesent exist";
            #Route::ErrorPage404();
        }
        exit();
    }

    function ErrorPage404()
    {
        echo "<br> ------   404 ------------";
        exit();
        $host = 'http://' . $_SERVER['HTTP_HOST'] . '/';
        header('HTTP/1.1 404 Not Found');
        header("Status: 404 Not Found");
        header('Location:' . $host . '404');
    }

}